// 声明为inputType类型的数据，只能是这四个值
type InputType = 'input' | 'password' | 'select' | 'datepicker' | 'inputnumber' | 'cron'

interface ISelectOption {
    title: string,
    value: any
}

// 输入框约束
interface IFormItem {
    model: string  // v-model绑定的属性名
    type: InputType // 输入框类型
    label?: string  // 输入框标签
    ruleName?: string   // 校验规则名称
    placeholder?: any
    clearable?: boolean  // 是否可以一键清空
    hidden?: boolean   // 是否为隐藏域
    disable?: boolean
    options?: ISelectOption[] // 选择器option
    min?: number // 最小值
    max?: number // 最大值
    onchange?: Function
    onclear?: Function
}

interface IFormConfig {
    items: IFormItem[]
    labelWidth?: string
    span?: number,
    rules?: object
}

export {IFormItem,IFormConfig,ISelectOption}